package org.rambadger.command.representation;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import org.mongojack.Id;
import org.mongojack.MongoCollection;
import org.rambadger.command.validation.UrlIdentifier;

import javax.validation.constraints.NotNull;

@MongoCollection(name = "platforms")
public class Platform {
    @Id @UrlIdentifier @NotNull
    @JsonProperty String platformId;

    @Length(max = 64) @NotBlank
    @JsonProperty String platformName;

    @Length(max = 4096) @NotNull
    @JsonProperty String description;

    Platform() {}

    public Platform(String platformId, String platformName, String description) {
        this.platformId = platformId;
        this.platformName = platformName;
        this.description = description;
    }

    public String getPlatformId() {
        return platformId;
    }

    public String getPlatformName() {
        return platformName;
    }

    public void setPlatformName(String platformName) {
        this.platformName = platformName;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
}
